/*
 * Copyright (c) 2007-2020 西安交通信息投资营运有限公司 版权所有
 */

package com.xci.edu.core.filter;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.github.lvyanyang.core.BaseFilter;
import com.github.lvyanyang.core.BasePageFilter;
import com.github.lvyanyang.core.Const;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.util.Date;

/**
 * 试卷信息过滤对象
 * @author 马星俊 maxingjun@xci96716.com
 * @since 2020-11-25 10:52:08"
 */
@Builder
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "试卷信息过滤对象")
public class ExamPaperFilter extends BasePageFilter {
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键", position = 1)
    private Long id;

    /**
     * 试卷名称
     */
    @ApiModelProperty(value = "试卷名称", position = 2)
    private String name;

    /**
     * 试卷类型[1-普通试卷, 2-随机试卷]  
     */
    @ApiModelProperty(value = "试卷类型[1-普通试卷, 2-随机试卷]  ", position = 3)
    private Integer paperCategory;

    /**
     * 自动生成:单选题数
     */
    @ApiModelProperty(value = "自动生成:单选题数", position = 4)
    private Integer autoRadioCount;

    /**
     * 自动生成:多选题数
     */
    @ApiModelProperty(value = "自动生成:多选题数", position = 5)
    private Integer autoCheckboxCount;

    /**
     * 自动生成:判断题数
     */
    @ApiModelProperty(value = "自动生成:判断题数", position = 6)
    private Integer autoYesnoCount;

    /**
     * 试卷总分
     */
    @ApiModelProperty(value = "试卷总分", position = 7)
    private Integer totalScore;

    /**
     * 考试时长
     */
    @ApiModelProperty(value = "考试时长", position = 8)
    private Integer totalDuration;

    /**
     * 及格分数
     */
    @ApiModelProperty(value = "及格分数", position = 9)
    private Integer passScore;

    /**
     * 科目主键
     */
    @ApiModelProperty(value = "科目主键", position = 10)
    private Long eduCategoryId;

    /**
     * 科目名称
     */
    @ApiModelProperty(value = "科目名称", position = 11)
    private String eduCategoryName;

    /**
     * 考试须知
     */
    @ApiModelProperty(value = "考试须知", position = 12)
    private String notice;

    /**
     * 开始考试时间
     */
    @ApiModelProperty(value = "开始考试时间", position = 13)
    private Date startDateTime;

    /**
     * 结束考试时间
     */
    @ApiModelProperty(value = "结束考试时间", position = 14)
    private Date endDateTime;

    /**
     * 试题排序[0-固定, 1-随机]
     */
    @ApiModelProperty(value = "试题排序[0-固定, 1-随机]", position = 15)
    private Integer questionOrder;

    /**
     * 试题选项排序[0-固定, 1-随机]
     */
    @ApiModelProperty(value = "试题选项排序[0-固定, 1-随机]", position = 16)
    private Integer questionOptionOrder;

    /**
     * 试卷展示[0-整卷展示, 1-单题展示]
     */
    @ApiModelProperty(value = "试卷展示[0-整卷展示, 1-单题展示]", position = 17)
    private Integer showMode;

    /**
     * 开考限制;考试开始{}分钟后禁止参加考试
     */
    @ApiModelProperty(value = "开考限制;考试开始{}分钟后禁止参加考试", position = 18)
    private Integer forbidEnter;

    /**
     * 交卷限制;开始考试{}分钟内不允许交卷
     */
    @ApiModelProperty(value = "交卷限制;开始考试{}分钟内不允许交卷", position = 19)
    private Integer forbidSubmit;

    /**
     * 状态[1-启用, 0-禁用]
     */
    @ApiModelProperty(value = "状态[1-启用, 0-禁用]", position = 20)
    private Integer status;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", position = 21)
    private String remark;

    /**
     * 操作人主键
     */
    @ApiModelProperty(value = "操作人主键", position = 22)
    private Long operateUserId;

    /**
     * 操作人
     */
    @ApiModelProperty(value = "操作人", position = 23)
    private String operateUserName;

    /**
     * 操作时间
     */
    @ApiModelProperty(value = "操作时间", position = 24)
    private Date operateDateTime;

}